Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including volatile and non-volatile memory. Volatile memory can require power to maintain its data and includes random-access memory (RAM), dynamic random access memory (DRAM), and synchronous dynamic random access memory (SDRAM), among others. Non-volatile memory can provide persistent data by retaining stored information when not powered and can include NAND flash memory, NOR flash memory, read only memory (ROM), Electrically Erasable Programmable ROM (EEPROM), Erasable Programmable ROM (EPROM), and phase change random access memory (PCRAM), among others.
Memory devices can be combined together to form a solid state drive (SSD). A solid state drive can include non-volatile memory, e.g., NAND flash memory and NOR flash memory, and/or can include volatile memory, e.g., DRAM and SRAM, among various other types of non-volatile and volatile memory.
An SSD can be used to replace hard disk drives as the main storage device for a computer, as the solid state drive can have advantages over hard drives in terms of performance, size, weight, ruggedness, operating temperature range, and power consumption. For example, SSDs can have superior performance when compared to magnetic disk drives due to their lack of moving parts, which may ameliorate seek time, latency, and other electro-mechanical delays associated with magnetic disk drives. SSD manufacturers can use non-volatile flash memory to create flash SSDs that may not use an internal battery supply, thus allowing the drive to be more versatile and compact.
An SSD can include a number of memory devices, e.g., a number of memory chips (as used herein, “a number of” something can refer to one or more such things; for example, a number of memory devices can refer to one or more memory devices). As one of ordinary skill in the art will appreciate, a memory chip can include a number of dies. Each die can include a number of memory arrays and peripheral circuitry thereon. A memory array can include a number of planes, with each plane including a number of physical blocks of memory cells. Each physical block can include a number of pages of memory cells that can store a number of sectors of data.
In order to achieve low latency and high bandwidth operations across large storage capacity, SSDs may include multiple channels operating in parallel, with each channel operating some portion of memory. Thus, multiple copies of a memory channel controller, e.g., NAND flash controller logic, may be integrated on an SSD's multi-channel system controller. In such an arrangement, each channel is tasked with operating the associated memory served by the channel, including performing physical to logical mapping and block management, e.g., wear leveling. Therefore, each copy of the multiple memory channel controllers, corresponding to each of the multiple channels, may have high speed buffer memory used to carry out the mapping and block management functions. In addition, each copy of the multiple memory channel controllers may include buffer memory for “in-flight” data directed to a respective channel.
Parallel communications between each copy of the multiple memory channel controllers and the corresponding portions of memory may require approximately 20 pins to establish data, control, power, and ground connections therebetween. This can result in an expensive memory system ASIC having a large pin count to ensure compatibility with existing disk drive protocols.